package com.gallop.akka.spec.rpc;

import com.gallop.akka.spec.msg.ActorRequest;
import com.gallop.akka.spec.msg.ActorResponse;

import java.time.Duration;

public interface RemoteCallExecutor {

    <Resp extends ActorResponse<?>> Resp ask(ActorRequest<?> request);

    <Resp extends ActorResponse<?>> Resp ask(ActorRequest<?> request, Duration timeout);

}
